442 research outputs found
EACOF: A Framework for Providing Energy Transparency to enable Energy-Aware Software Development
Making energy consumption data accessible to software developers is an
essential step towards energy efficient software engineering. The presence of
various different, bespoke and incompatible, methods of instrumentation to
obtain energy readings is currently limiting the widespread use of energy data
in software development. This paper presents EACOF, a modular Energy-Aware
Computing Framework that provides a layer of abstraction between sources of
energy data and the applications that exploit them. EACOF replaces platform
specific instrumentation through two APIs - one accepts input to the framework
while the other provides access to application software. This allows developers
to profile their code for energy consumption in an easy and portable manner
using simple API calls. We outline the design of our framework and provide
details of the API functionality. In a use case, where we investigate the
impact of data bit width on the energy consumption of various sorting
algorithms, we demonstrate that the data obtained using EACOF provides
interesting, sometimes counter-intuitive, insights. All the code is available
online under an open source license. http://github.com/eaco
Statistical Mechanics of Community Detection
Starting from a general \textit{ansatz}, we show how community detection can
be interpreted as finding the ground state of an infinite range spin glass. Our
approach applies to weighted and directed networks alike. It contains the
\textit{at hoc} introduced quality function from \cite{ReichardtPRL} and the
modularity as defined by Newman and Girvan \cite{Girvan03} as special
cases. The community structure of the network is interpreted as the spin
configuration that minimizes the energy of the spin glass with the spin states
being the community indices. We elucidate the properties of the ground state
configuration to give a concise definition of communities as cohesive subgroups
in networks that is adaptive to the specific class of network under study.
Further we show, how hierarchies and overlap in the community structure can be
detected. Computationally effective local update rules for optimization
procedures to find the ground state are given. We show how the \textit{ansatz}
may be used to discover the community around a given node without detecting all
communities in the full network and we give benchmarks for the performance of
this extension. Finally, we give expectation values for the modularity of
random graphs, which can be used in the assessment of statistical significance
of community structure
Finding local community structure in networks
Although the inference of global community structure in networks has recently
become a topic of great interest in the physics community, all such algorithms
require that the graph be completely known. Here, we define both a measure of
local community structure and an algorithm that infers the hierarchy of
communities that enclose a given vertex by exploring the graph one vertex at a
time. This algorithm runs in time O(d*k^2) for general graphs when is the
mean degree and k is the number of vertices to be explored. For graphs where
exploring a new vertex is time-consuming, the running time is linear, O(k). We
show that on computer-generated graphs this technique compares favorably to
algorithms that require global knowledge. We also use this algorithm to extract
meaningful local clustering information in the large recommender network of an
online retailer and show the existence of mesoscopic structure.Comment: 7 pages, 6 figure
Analysis of weighted networks
The connections in many networks are not merely binary entities, either
present or not, but have associated weights that record their strengths
relative to one another. Recent studies of networks have, by and large, steered
clear of such weighted networks, which are often perceived as being harder to
analyze than their unweighted counterparts. Here we point out that weighted
networks can in many cases be analyzed using a simple mapping from a weighted
network to an unweighted multigraph, allowing us to apply standard techniques
for unweighted graphs to weighted ones as well. We give a number of examples of
the method, including an algorithm for detecting community structure in
weighted networks and a new and simple proof of the max-flow/min-cut theorem.Comment: 9 pages, 3 figure
Finding community structure in very large networks
The discovery and analysis of community structure in networks is a topic of
considerable recent interest within the physics community, but most methods
proposed so far are unsuitable for very large networks because of their
computational cost. Here we present a hierarchical agglomeration algorithm for
detecting community structure which is faster than many competing algorithms:
its running time on a network with n vertices and m edges is O(m d log n) where
d is the depth of the dendrogram describing the community structure. Many
real-world networks are sparse and hierarchical, with m ~ n and d ~ log n, in
which case our algorithm runs in essentially linear time, O(n log^2 n). As an
example of the application of this algorithm we use it to analyze a network of
items for sale on the web-site of a large online retailer, items in the network
being linked if they are frequently purchased by the same buyer. The network
has more than 400,000 vertices and 2 million edges. We show that our algorithm
can extract meaningful communities from this network, revealing large-scale
patterns present in the purchasing habits of customers
Stochastic blockmodels and community structure in networks
Stochastic blockmodels have been proposed as a tool for detecting community
structure in networks as well as for generating synthetic networks for use as
benchmarks. Most blockmodels, however, ignore variation in vertex degree,
making them unsuitable for applications to real-world networks, which typically
display broad degree distributions that can significantly distort the results.
Here we demonstrate how the generalization of blockmodels to incorporate this
missing element leads to an improved objective function for community detection
in complex networks. We also propose a heuristic algorithm for community
detection using this objective function or its non-degree-corrected counterpart
and show that the degree-corrected version dramatically outperforms the
uncorrected one in both real-world and synthetic networks.Comment: 11 pages, 3 figure
Graph Partitioning Induced Phase Transitions
We study the percolation properties of graph partitioning on random regular
graphs with N vertices of degree . Optimal graph partitioning is directly
related to optimal attack and immunization of complex networks. We find that
for any partitioning process (even if non-optimal) that partitions the graph
into equal sized connected components (clusters), the system undergoes a
percolation phase transition at where is the fraction of
edges removed to partition the graph. For optimal partitioning, at the
percolation threshold, we find where is the size of the
clusters and where is their diameter. Additionally,
we find that undergoes multiple non-percolation transitions for
Efficient modularity optimization by multistep greedy algorithm and vertex mover refinement
Identifying strongly connected substructures in large networks provides
insight into their coarse-grained organization. Several approaches based on the
optimization of a quality function, e.g., the modularity, have been proposed.
We present here a multistep extension of the greedy algorithm (MSG) that allows
the merging of more than one pair of communities at each iteration step. The
essential idea is to prevent the premature condensation into few large
communities. Upon convergence of the MSG a simple refinement procedure called
"vertex mover" (VM) is used for reassigning vertices to neighboring communities
to improve the final modularity value. With an appropriate choice of the step
width, the combined MSG-VM algorithm is able to find solutions of higher
modularity than those reported previously. The multistep extension does not
alter the scaling of computational cost of the greedy algorithm.Comment: 7 pages, parts of text rewritten, illustrations and pseudocode
representation of algorithms adde
What is health promotion ethics?
editorialWhat does it mean to think about the ethics of health promotion? When most of us think ‘ethics’ we think of the Human Research Ethics Committee applications required for research projects. But I’m thinking of something quite different here: the ethics of health promotion practice. Health promotion ethics is an attempt to answer questions such as: Can we provide a moral justification for what we are doing in health promotion? or What is the right thing to do in health promotion, and how can we tell? As other authors have argued, sometimes these questions are ignored in health promotion in favour of scientific and technical questions about effectiveness. But there is increasing recognition that health promotion is a moral project, that health promotion can be practised in ways that are more or less ethical, and thus that considering ethics in health promotion is just as important as – and related to – considering the evidence about whether or not health promotion works. 1-5
The number of publications about health promotion ethics has been slowly increasing since the 1980s, including in this journal, where authors have particularly argued the importance of being explicit about values in health promotion. If something has value, it has worth or importance. 6 Authors in the HPJA have suggested that health promotion practitioners value: health and wellbeing as opposed to the mere absence of disease, justice, environmental sustainability, empowerment, respect for culture, and truth telling. 3, 7, 8 But concern has been expressed that although these things are valued in health promotion, this may not always influence the way that health promotion is implemented and evaluated.NHMR
Detecting community structure in networks using edge prediction methods
Community detection and edge prediction are both forms of link mining: they
are concerned with discovering the relations between vertices in networks. Some
of the vertex similarity measures used in edge prediction are closely related
to the concept of community structure. We use this insight to propose a novel
method for improving existing community detection algorithms by using a simple
vertex similarity measure. We show that this new strategy can be more effective
in detecting communities than the basic community detection algorithms.Comment: 5 pages, 2 figure
- …